/**
  ******************************************************************************
  * @file    usart.h
  * @brief   This file contains all the function prototypes for
  *          the usart.c file
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2025 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under BSD 3-Clause license,
  * the "License"; You may not use this file except in compliance with the
  * License. You may obtain a copy of the License at:
  *                        opensource.org/licenses/BSD-3-Clause
  *
  ******************************************************************************
  */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __USART_H__
#define __USART_H__

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "main.h"

/* USER CODE BEGIN Includes */
#include "fifo.h"

#define UART1_RX_DMA_CHANNEL	LL_DMA_CHANNEL_2
#define UART1_TX_DMA_CHANNEL	LL_DMA_CHANNEL_1
#define UART2_RX_DMA_CHANNEL	LL_DMA_CHANNEL_4
#define UART2_TX_DMA_CHANNEL	LL_DMA_CHANNEL_3
#define UART1_RX_FIFO_BUF_LEN	256
#define UART2_RX_FIFO_BUF_LEN	256
#define UART1_TX_DMA_BUF_LEN	256
#define UART1_RX_DMA_BUF_LEN	64
#define UART2_TX_DMA_BUF_LEN	64
#define UART2_RX_DMA_BUF_LEN	64


void uart1_rx_idle_irq(void);
void uart2_rx_idle_irq(void);
void uart1_tx_dma_complete_irq(void);
void uart2_tx_dma_complete_irq(void);
void uart1_rx_dma_complete_irq(void);
void uart1_rx_dma_half_irq(void);
int uart1_read_buf_len(void);
int uart2_read_buf_len(void);
uint8_t uart1_read_byte(void);
uint8_t uart2_read_byte(void);
void uart2_rx_dma_half_irq(void);
void uart2_rx_dma_complete_irq(void);
void Debug_Init(void);
/* USER CODE END Includes */

/* USER CODE BEGIN Private defines */

/* USER CODE END Private defines */

void MX_USART1_UART_Init(void);
void MX_USART2_UART_Init(void);

/* USER CODE BEGIN Prototypes */

/* USER CODE END Prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __USART_H__ */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
